草庐IT

windows - Powershell 调用命令的问题

全部标签

ruby - 是否可以在不调用初始化的情况下实例化 Ruby 类?

有时,当我编写单元测试时,我需要在不调用initialize方法的情况下实例化一个类。例如,当构造函数实例化其他类时,无论如何我都会用stub替换它们。例如:classSomeClassThatIWillTestdefinitialize@client=GoogleAnalyticsClient.new@cache=SuperAdvancedCacheSystem.newend#...end在测试中,我可能会将@client和@cache替换为stub,因此我宁愿从未调用构造函数。有什么黑魔法可以帮助我解决这个问题吗? 最佳答案 当

Ruby:如何更改函数调用中参数的值?

我将如何在ruby​​中实现一个函数,如下所示?change_me!(val)更新:我打算做的是:defchange_me!(val)val=val.chopwhileval.end_with?'#'orval.end_with?'/'end这刚刚结束......change_me!'test#///'=>"test#///" 最佳答案 您的想法是错误的。虽然可以在Ruby中执行此操作,但它会过于复杂。正确的做法是:val.change_me!当然,这取决于您要更改的类别。关键是,按照惯例,带有“!”的方法影响调用它们的类实例。所以

ruby - 如何在 Windows 7 上正确安装 Compass?

当我从Ruby的bin文件夹以外的任何地方运行compass时,它返回错误:'compass'isnotrecognizedasaninternalorexternalcommand,operableprogramorbatchfile.这件事发生在其他人身上吗?我在某处读到,在Windows32中可能需要一个文件,也许是compass.exe,我不确定,因为那里没有任何东西说compass。知道为什么安装无法完成吗?另外我应该注意,我通过Parallels在Mac上使用Windows7。 最佳答案 确保你有rubyinstalle

ruby - Windows 7 上的 Compass 轮询错误

我正在尝试在本地开发一个PHP应用程序,该应用程序是从我和我的合作伙伴使用的Git存储库中克隆的。他使用Mac,到目前为止,我一直在虚拟UbuntuLinux环境中开发该应用程序。两种环境都能够使用具有相同文件结构和文件的Compass轮询。在Windows7上,我从Cygwin运行Compass命令,这是我用来从应用程序的根目录(C:/wamp/www/application)进行Compass轮询的命令:compasswatch--tracesrc/Application/ApplicationBundle/Resources/compass/然后当我对.scss文件进行更改时,我

ruby - 使用 RVM 和 ruby​​ 1.8.6 在 Lion 上安装 rspec-1.3.2 时出现问题

我正在尝试使用RVM和Ruby1.8.6在OSXLion上安装rspec版本1.3.2当我安装时,我得到以下信息:$geminstallrspec-v=1.3.2Aborttrap:6我能够使用系统ruby​​成功安装相同的rspec版本。我试图对这个问题进行一些研究,但看起来没有人遇到过同样的事情。类似的问题建议在安装ruby之前exportCC=gcc-4.2。我试过了(在完全清除RVM并重新安装最新版本1.6.31之后)但它没有效果。有没有其他人遇到过这个?您找到解决方案了吗? 最佳答案 我安装了1.8.6fresh没有gem

ruby - 如何知道 FileUtils 命令是否成功?

我没有看到FileUtils命令的任何返回值。我想做这样的事情:really=(gets.chomp=="y")ifreallysuccess=FileUtils.rm_rf"./PROJECT_#{@name}"#doesnotworkendputs"./PROJECT_#{@name}deleted"ifsuccess我读了documentation对于FileUtils,还读取了“GettingexecutedcommandfromrubyFileUtils”,但我不知道如何使用答案。 最佳答案 根据文档(http://rub

ruby - rbenv, bundler , unicorn 问题

我将rbenv和bundler用于我的ruby​​应用程序环境。我的“bundle展示”:bundleshowGemsincludedbythebundle:*activemodel(3.2.13)*activerecord(3.2.13)*activesupport(3.2.13)*addressable(2.3.4)*arel(3.0.2)*bcrypt-ruby(3.0.1)*builder(3.0.4)*bundler(1.16.2)*erubis(2.7.0)*eventmachine(1.0.3)*faraday(0.8.7)*haml(4.0.2)*haml-contri

ruby - 使用 Ruby `return` 时如何防止 `yield` 出现问题

正如每个Ruby程序员最终发现的那样,调用包含return语句的block或过程可能很危险,因为这可能会退出您当前的上下文:defsome_method(&_block)puts1yield#Thefollowinglinewillneverbeexecutedinthisexample#astheyieldisactuallya`yield-and-return`.puts3enddeftestsome_methoddoputs2returnendendtest#Thisprints"1\n2\n"insteadof"1\n2\n3\n"如果您想绝对确定某些代码在您调用block或过

Ruby:使用 self 关键字从内部调用私有(private)方法

classMyClassdeftestputsmy_idputsself.my_idendprivatedefmy_id115endendm=MyClass.newm.test此脚本产生输出:115priv.rb:4:in`test':privatemethod`my_id'calledfor#(NoMethodError)frompriv.rb:15:in`'使用self关键字和不使用关键字从内部调用方法有什么区别?根据我的Delphi和C#经验:没有区别,self可以用来避免与局部变量的名称冲突,表示我想调用实例函数或引用实例变量. 最佳答案

ruby-on-rails - 如何在 Rails Controller 中调用 channel 方法?

我有一个订阅用户的ActionCable方法。如果开始新的session,我也想为用户订阅新channel。我想不出在Controller中调用channel方法的正确语法。更新:问题是消息在发送时附加到聊天框,但是当发送第一条消息时,websocket连接尚未建立,因此在用户看来好像消息没有发送(因为它没有被附加)。channel/msgs_channel.rbclassMsgsChannel在我的convosController中,create方法,我尝试了几种方法:convos_controller.rbdefcreate@convo=Convo.create!({sender_